/*
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

/**
 * @file cs_general.h
 * @brief library routines 
 * @version 0.1.0
 * @author xingchi 
 * @date 2/13/2008 created, by xingchi 
 */

#ifndef __CSLIB_GENERAL_H__
#define __CSLIB_GENERAL_H__

typedef unsigned char      cs_uint8_t;  /**< 8 bits unsigned integer */
typedef unsigned short     cs_uint16_t; /**< 16 bits unsigned integer */
typedef unsigned int       cs_uint32_t; /**< 32 bits unsigned integer */
typedef unsigned long long cs_uint64_t; /**< 64 bits unsigned integer */

#define CS_ASC_NUL '\0'   /**< NUL, string termine flag */
#define CS_ASC_SP  '\040' /**< space */
#define CS_ASC_LF  '\012' /**< line feed */
#define CS_ASC_CR  '\015' /**< carrige return */
#define CS_ASC_TAB '\011' /**< tab */

/** macro __INLINE__ */
#if !defined(__GNUC__) || __GNUC__ < 2 || \
    (__GNUC__ == 2 && __GNUC__MINOR__ < 9)
#define __INLINE__
#else
#define __INLINE__ __inline__
#endif

#endif /*! __CSLIB_GENERAL_H__ */

